Streaming is the process where the content consumed by a client is sent in small pieces to the client as opposed to downloading, where the whole multimedia file is transferred to the client before playing. Existing streaming protocols include a Real-Time Transport Protocol (RTP) or a MPEG transport stream under user datagram protocol (MPEG TS/UDP). On the other hand, download is generally performed using a hypertext transfer protocol (HTTP protocol).
In entertainment and communications systems, RTSP Protocol (Real-Time Transport Streaming) is provided as a network control protocol for controlling streaming media servers. Transmission of streaming data by the RTSP servers is done via the Real-time Transport Protocol (RTP). RTSP defines control sequences useful in controlling playback of streaming data. The control sequences are defined in the RFC 2326 standard by the Internet Engineering Task Force (IETF).
The streaming session is initiated by the client towards the streaming server. The streaming server delivers the requested video over a unicast link towards the client. The streaming session establishment involves several RTSP messages between the client and the streaming server, typically involving content selection and indication of client characteristics such as screen size, bit rate or maximum buffer size. The unicast RTP streaming session is finally established using previously negotiated parameters. The streaming session parameters generally remain unchanged until the client selects further content or terminates the streaming session. Obviously this type of environment is not well adapted to varying network characteristics. Some operators simply chose to restrict access to certain services to clients having sufficient extra bandwidth on top of the actual required bandwidth to avoid problems.
Real-time streaming has become increasingly popular for transmitting TV-channels via the internet (IPTV). However, means have to be provided to cope with changing bandwidth rates between the multimedia provider and the client. Otherwise, “freezing” of multimedia streams would occur, which is generally considered as a nuisance by the customer.
Various attempts have been made with respect to solve the above-mentioned problem of changing bandwidth rates.
In WO 2002/073441 A1 a single file is divided into multiple sub-files that are subsequently distributed and stored onto one or more servers. The sub-files may be transmitted in parallel and simultaneously from one or more servers, which increases the rate at which the data can be delivered. Furthermore, at least one of the sub-files can be stored on more than one server to provide redundancy. If a server is not available, or if the transmission link is slow or not available, the sub-file can be streamed from another server.
In US 2009/0259762 A1 a distributed and scalable content streaming architecture is shown which includes a plurality of controllers and a plurality of servers. The controllers are operable to establish Real-Time Streaming Protocol (RTSP) sessions with individual devices. A controller selects a server to provide a requested media stream to a device. The server may be selected based on its proximity to the device, bandwidth availability, or latency characteristics. Additional servers can be added to a system without disrupting system operation.
WO 2010/111261 A1 shows a streaming media system, which employs dynamic rate adaptation. This includes a file format compatible with legacy HTTP infrastructure to deliver media over a persistent connection. The legacy client media players are able to dynamically change the encoded delivery rate of the media over a persistent connection.
In US 2010/0094955 A1 a distributed storage is shown wherein for each group of at least one assembling device, a subgroup of fractional-storage CDN servers according to at least one criterion is selected. A plurality of server subgroups is selected for a plurality of assembling device groups. Erasure-coded fragments associated with multiple segments of contents are retrieved by the assembling devices from the subgroups of servers, until the aggregated bandwidth used for retrieving the fragments approaches the aggregated bandwidth of the servers included in the subgroups, and as long as the aggregated bandwidth used for delivering each segment does not exceed the aggregated bandwidth of the servers storing the fragments generated from the segment.
US 2006/0215596 A1 transfer rate adjustments for a device, e.g. a multimedia server, are shown. These rate adjustments are based upon determining by the multimedia server various quality of service parameters from a wireless link between two other network nodes, which may comprise an access point and a video player, respectively.
U.S. Pat. No. 6,405,256B1 data streaming transmission is disclosed with a network server connected to client device through a communication network with one or more of caching servers. The network server has a data streaming application and a memory for storing data. A series of connections, each using a data streaming arrangement, is formed in the path between the source network and client device by the caching servers. Each caching server can absorb network congestion in its downstream connection by utilizing an expandable buffer for storing additional segments of the streamed data and varying the transmission data rate in the downstream connection.
Furthermore, the 3rd Generation Partnership Project (3GPP) has standardized a delivery framework including a container format capable of storing multiple versions (that should have different encoding bit rates) of a same content that, associated with a smart control logic on the streaming server side, can cope with variations of the network conditions. This control logic has however not been specified by 3GPP.
HTTP streaming is a technology recently advertised by Apple with its iPhone, by Microsoft with Smoothstreaming or by 3GPP with its HTTP Adaptive streaming.
Recent techniques use the HTTP protocol to periodically provide feedback from the client to the server about the current network conditions. The adaptive content, being small chunks of multimedia content of fixed duration but with varying bit rate, is served to the client according while constantly adapting to network conditions.
The obvious drawback is that the quality perceived by the client can be severely degraded as the bandwidth varies. Furthermore, those techniques do not leverage existing IPTV equipments relying on RTP/RTSP protocols.
Accordingly, there is a need in the art to provide a method and a system for adaptive streaming in a multipath environment that respectively overcome—at least partially—the problems associated with the prior art systems.